package at.fhv.components.laplace;

/**
 * The Sobel class.
 * 
 * @author Michael Sieber
 */
public enum Laplace 
{
	LAPLACE_1("Laplace 1", new float[] { 0, -1, 0, -1, 4, -1, 0, -1, 0 }, 3, 3),
	LAPLACE_2("Laplace 2", new float[] { 0, -1, -1, -1, 8, -1, -1, -1, 0 }, 3, 3),
	LAPLACE_3("Laplace 3", new float[] { 1, -2, 1, -2, 4, -2, 1, -2, 1 }, 3, 3),
	LAPLACE_4("Laplace 4", new float[] { -1, -2, -1, -2, 12, -2, -1, -2, -1 }, 3, 3),
	CUSTOM("Custom", new float[9], 3, 3);

	private float[] _matrix;
	private String _name;
	private int _rows;
	private int _columns;

	private Laplace(String name, float[] matrix, int rows, int columns)
	{
		_matrix = matrix;
		_name = name;
		_rows = rows;
		_columns = columns;
	}

	public float[] getMatrix() { return _matrix; }

	public String getName() { return _name; }
	
	public int getRows() { return _rows; }
	
	public int getColumns() { return _columns; }

	@Override
	public String toString() { return _name;	}
}
